package it.univaq.mancoosi.injectors.systemconfiguration.managers;

import it.univaq.mancoosi.mancoosimm.DesktopDB;
import it.univaq.mancoosi.mancoosimm.MancoosiFactory;
import java.io.IOException;

public abstract class DesktopDbManager {

	protected static DesktopDbManager INSTANCE;
	protected MancoosiFactory factory; 
	protected DesktopDB desktopDB;

	protected DesktopDbManager(){
		this.factory = MancoosiFactory.eINSTANCE;
		desktopDB = factory.createDesktopDB(); 
	}

	public static DesktopDbManager getInstance() {
		return INSTANCE;
	}
	
	public DesktopDB getDesktopDB() {
		return desktopDB;
	}

	public abstract void createDesktopDbFromSystem();

	public abstract void synchronize() throws IOException;
	
}
